<template>
  <div class="import">
    <UploadExcel :before-upload="beforeUpload" :on-success="onSuccess" />
  </div>
</template>

<script>
import { sysuSerBatch } from '@/api/employees'
export default {
  created () {
    const result = [
      {
        姓名: '张三',
        年龄: 28
      },
      {
        姓名: '李四',
        年龄: 18
      }
    ]
    const temp = result.map(item => {
      return {
        name: item['姓名'],
        age: item['年龄']
      }
    })
    console.log(temp)
    //  const result = [
    //       {
    //         name: '张三',
    //         age: 28
    //       },
    //       {
    //         name: '李四',
    //         age: 18
    //       }
    //     ]
  },
  methods: {
    beforeUpload (file) {
      console.log(file)
      const limitSize = file.size / 1024 < 100
      if (!limitSize) {
        this.$message.error('请上传小于100k的文件')
      }
      const limitType = /\.(xlsx|xls|csv)$/.test(file.name)
      if (!limitType) {
        this.$message.error('请上传小于1k的(xlsx|xls|csv)文件')
      }
      return limitSize && limitType
    },
    //  数据转换
    // 调用api
    // 提示并跳转页面
    async onSuccess (obj) {
      const newObj = obj.results.map(item => {
        return {
          timeOfEntry: this.intratemPoral(item['入职日期']),
          username: item['姓名'],
          workNumber: item['工号'],
          mobile: item['手机号'],
          correctionTime: this.intratemPoral(item['转正时间'])
        }
      })
      await sysuSerBatch(newObj)
      // 提示导入成功
      this.$message.success('导入成功')
      this.$router.push('/employees')
      // this.$message.error('导入失败')
      console.log(obj)
    },
    /*
    js时间：1970年1月1日开始计算，时间都是从0开始计算，从0点计算
    excel时间：1900年1月1日开始计算，给我们的值是到日前为止的天数，从1开始计算，从八点计算
    excel时间转换成js时间
    */
    intratemPoral (excelTime) {
      const t = new Date(
        (excelTime - 1) * 24 * 60 * 60 * 1000 - 8 * 60 * 60 * 1000
      )
      t.setYear(t.getFullYear() - 70)
      return t
    }
  }
}
</script>

<style lang="scss" scoped>
.import {
  margin: 150px 0 0;
}
</style>
